// samsting : this file is auto create.

#ifndef ALIYUN_Yundun_DdosLogResponse_H_
#define ALIYUN_Yundun_DdosLogResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Yundun {

class DdosLogResponse : public AcsResponse {
public:
  DdosLogResponse();

  class DdosLog {
    friend class DdosLogResponse;
  public:
    const string& GetStartTime(void) const;
    const string& GetEndTime(void) const;
    const string& GetReason(void) const;
    int  GetStatus(void) const;
    int64 GetBps(void) const;
    int64 GetPps(void) const;
    int64 GetQps(void) const;
    const string& GetAttackType(void) const;
    const string& GetAttackIpList(void) const;
    int  GetType(void) const;
  private:
    string StartTime_;
    string EndTime_;
    string Reason_;
    int    Status_;
    int64  Bps_;
    int64  Pps_;
    int64  Qps_;
    string AttackType_;
    string AttackIpList_;
    int    Type_;
  }; // DdosLog 

  const std::vector<DdosLog>& GetLogList(void) const;
  int  GetAttackStatus(void) const;
  const string& GetStartTime(void) const;
  const string& GetEndTime(void) const;
  int  GetPageNumber(void) const;
  int  GetPageSize(void) const;
  int  GetTotalCount(void) const;

private:
  std::vector<DdosLog> LogList_;
  int    AttackStatus_;
  string StartTime_;
  string EndTime_;
  int    PageNumber_;
  int    PageSize_;
  int    TotalCount_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Yundun {

#endif // #ifndef ALIYUN_Yundun_DdosLogResponse_H_

// end of file 
